package com.zoffy.catdiarybackend.service;

import com.zoffy.catdiarybackend.model.dto.user.UserInformationUpdateRequest;
import com.zoffy.catdiarybackend.model.dto.user.UserLoginRequest;
import com.zoffy.catdiarybackend.model.dto.user.UserRegistryRequest;
import com.zoffy.catdiarybackend.model.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zoffy.catdiarybackend.model.vo.UserVo;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

/**
* @author 86170
* @description 针对表【user(用户)】的数据库操作Service
* @createDate 2024-06-05 15:09:56
*/
public interface UserService extends IService<User> {
    long userRegistry(UserRegistryRequest userRegistryRequest);
    UserVo userLogin(HttpServletRequest request, UserLoginRequest userLoginRequest);
    void userLogout(HttpServletRequest request);
    UserVo getUserVo(HttpServletRequest request);
    UserVo getUserVo(long id);
    UserVo getUserVo(String sessionId);
    boolean updateUserAvatar(HttpServletRequest request, MultipartFile multipartFile) throws IOException;
    boolean updateUserInformation(HttpServletRequest request, UserInformationUpdateRequest userInformationUpdateRequest);
}
